package com.dlc.felear.xiaoensale.dao;

import android.content.Context;
import android.util.Log;

import com.dlc.felear.xiaoensale.entity.PipeInfo;
import com.j256.ormlite.dao.Dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class PipeInfoDao {
    private Dao<PipeInfo, Integer> PipeInfoDao;

    /**
     * 构造方法
     * 获得数据库帮助类实例，通过传入Class对象得到相应的Dao
     * @param context
     */
    public PipeInfoDao(Context context) {
        try {
            PipeInfoDao = DetailDataOpenHelper.getInstance(context).getDao(PipeInfo.class);
            Log.e("pipeInfo","PipeInfoDao="+PipeInfoDao);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 添加一条记录
     * @param PipeInfo
     */
    public void add(PipeInfo PipeInfo) {
        try {
            PipeInfoDao.create(PipeInfo);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 删除一条记录
     * @param PipeInfo
     */
    public void delete(PipeInfo PipeInfo) {
        try {
            PipeInfoDao.delete(PipeInfo);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }


    /**
     * 更新一条记录
     * @param PipeInfo
     */
    public void update(PipeInfo PipeInfo) {
        try {
            PipeInfoDao.update(PipeInfo);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 查询一条记录
     * @param id
     * @return
     */
    public PipeInfo queryForId(int id) {
        PipeInfo PipeInfo = null;
        try {
            PipeInfo = PipeInfoDao.queryForId(id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return PipeInfo;
    }


    /**
     * 查询所有记录
     * @return
     */
    public List<PipeInfo> queryForAll() {
        List<PipeInfo> PipeInfos = new ArrayList<PipeInfo>();
        try {
            PipeInfos = PipeInfoDao.queryForAll();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return PipeInfos;
    }
}
